
The PPassAB Operator acts like the Group operator used
within thinkingParticles. The great advantage of PPassAB is the support
for particle interaction. It is the only way in thinkingParticles to create
highly optimized inter-particle interaction and collisions. Measuring
particle distances between multiple particle groups or within one particle
group, for example, is only possible with PPassAB.
It is strongly recommended that you use only one Initiator within a DynamicSet. When a second initiator in a DynamicSet is available, it might interfere with the logic and processing within the rule set.
ON - (Bool) This input data stream determines whether
the operator is considered 'on' or 'off.' You can connect other operators
to this input channel such as a Bool Helper to activate/deactivate
the whole operator.
Time - (Time) This input data stream is used to define the local
time for the operator when the user wants to override the default system
time.
Type - (Integer) This input data stream takes an integer value
that represents the type of interaction between particles that should
be evaluated. This refers to the radio buttons within the PPassAB rollout
for All, Distance, Particle Size, Particle Shape Collision (1 thru 4 repsectively).
Distance - (Distance) This input data stream receives a distance
value for collisions between particle groups to be evaluated on.
Outside - (Bool) This input data stream inverts the current collision
set. It basically says that all particles that are not colliding are passed
from one Group to another.
A Particle - (Particle)
This output data stream sends the selected Group A particles out to another
node.
A Position - (Position) This output data stream supplies the current
Group A particle position to another node.
A Velocity - (Velocity) This output data stream supplies the current
velocity of the particle Group A, which can be fed into another operator
or condition.
A Life Span - (Life Span) From this output data stream, the life
span value of the current Group A particle can be fed into other operators
or conditions.
A Age - (Age) This output data stream provides the current particle
age for the Group A particle which can then be fed into other operators
or conditions.
A Size - (Size) This output data stream determines the size of
a particle in Group A that can then be fed into other operators and conditions.
A Spin - (Rotation) This output data stream provides the current
particle spin of a particle in Group A can then be fed into other operators
or conditions.
A Alignment - (Alignment) This output data stream provides the
current alignment of the particle in Group A that can then be fed into
another operator or condition.
A Mass - (Mass) This output data stream supplies the mass of a
particle in Group A that can then be fed into other operators and conditions.
A Scale - (Scale) This output data stream provides the current
scale of the particles in Group A that can then be fed into another operator
or condition.
A Group - (Group) This output data stream supplies the current
Group of a particle in Group A that can then be fed into other operators
and conditions.
A Shape - (Shape)This output data stream determines the current
shape of the particle in Group A that can then be fed into another operator
or condition.
B Particle - (Particle) This output data stream sends the selected
Group B particles out to another node.
B Position - (Position) This output data stream supplies the current
Group B particle position to another node.
B Velocity - (Velocity) This output data stream supplies the current
velocity of the particle in Group B, which can be fed into another operator
or condition.
B Life Span - (Life Span) From this output data stream, the life
span value of the current Group B particle can be fed into other operators
or conditions.
B Age - (Age) This output data stream provides the current particle
age for the Group B particle which can then be fed into other operators
or conditions.
B Size - (Size) This output data stream determines the size of
a particle in Group B that can then be fed into other operators and conditions.
B Spin - (Rotation) This output data stream provides the current
particle spin of a particle in Group B can then be fed into other operators
or conditions.
B Alignment - (Alignment) This output data stream provides the
current alignment of the particle in Group B that can then be fed into
another operator or condition.
B Mass - (Mass) This output data stream supplies the mass of a
particle in Group B that can then be fed into other operators and conditions.
B Scale - (Scale) This output data stream provides the current
scale of the particles in Group B that can then be fed into another operator
or condition.
B Group - (Group) This output data stream supplies the current
Group of a particle in Group B that can then be fed into other operators
and conditions.
B Shape - (Shape)This output data stream determines the current
shape of the particle in Group B that can then be fed into another operator
or condition.

GroupA - Select from this drop-down list the first particle group
for particle interaction.
GroupB - Select from this drop-down list the second particle group
for particle interaction. If you need to have particle interaction within
a single particle group (self interaction), the same group as you've selected
for GroupA may be selected again here.
All - Check this option to always activate the PPassAB operator
with all particle combinations. This can be a useful option when, for
example, you want a distance measured between particles with a connected
Distance condition.
Distance - Choose this option to get a radial distance check between
GroupA and GroupB particles. Only when this distance is reached is the
PPassAB operator activated and all connected nodes will then be evaluated.
Using this method, a new particle can be born when two particles "collide".
Only The Nearest - check this option to activate the Node only
for the nearest Particle
Only The Furthest - when checked, the furthest particle will be
output by this Node
Particle Size - Activate this option when you want to use the
particle size as a distance check between particles from GroupA and GroupB.
The current particle size will be used to check against other particles
for collisions in this case. It is important that the particles actually
have a size value assigned or the check will fail, and none of the connected
nodes will be evaluated.
Particle Shape Collision - Check this option to use a "brute
force" and un-optimized collision check between faces. This is the
most accurate method for testing non spherical particle shapes. However,
if the particle meshes are fairly complex it is better to use the Shape
Collision operator as it is far more optimized for such cases.
Invert - When this checkbox is active, it acts like a negation
factor. The connected nodes to the PPassAB operator in this case will
only be activated for particles that do not
collide (Distance, Particle Size, Particle Shape Collision).